API Documentation
RenderQueue.h
1 // RenderQueue.h
3 //
5 
6 namespace nkGraphics
7 {
14  class DLL_GRAPHICS_EXPORT RenderQueue : public nkExport::Exportable
15  {
16  public :
17 
18  // Getters
29  bool getHidden () const ;
30 
31  // Setters
37  void setHidden (bool value) ;
38 
44  virtual Entity* addEntity () ;
50  virtual void eraseEntity (Entity* ent) ;
54  virtual void clearQueue () ;
58  unsigned int getEntityCount () const ;
63  Entity* getEntity (unsigned int index) const ;
67  unsigned int getRenderableCount () const ;
68 
75  virtual void updateEntityNode (Entity* ent) ;
82  virtual void updateAddMesh (SubEntity* subEnt) ;
89  virtual void updateDeleteMesh (SubEntity* subEnt) ;
96  virtual void updateSwapMesh (SubEntity* subEnt) ;
103  virtual void updateSwapShader (Entity* ent) ;
112  virtual void updateSwapShaderRaytracing (Entity* ent, Shader* oldShader, Shader* newShader) ;
113 
121  void appendQueue (RenderQueue* other) ;
122 
123  // Name
127  virtual void setName (const nkMemory::StringView& name) ;
132 
133  // Index
137  void setIndex (unsigned int index) ;
141  unsigned int getIndex () const ;
142 
143  // Rendering queue
151  void setRenderingQueue (bool value) ;
155  bool getRenderQueue () const ;
156 
157  // Raytracing
164  virtual void setRaytraced (bool value) ;
168  bool getRaytraced () const ;
169 
175  virtual void exportClassToTree (nkExport::Node* rootNode) override ;
181  virtual void importClassFromTree (nkExport::Node* rootNode) override ;
182  } ;
183 }
nkGraphics::RenderQueue::setRaytraced
virtual void setRaytraced(bool value)
nkGraphics::RenderQueue::exportClassToTree
virtual void exportClassToTree(nkExport::Node *rootNode) override
nkGraphics::RenderQueue::updateEntityNode
virtual void updateEntityNode(Entity *ent)
nkGraphics::RenderQueue::importClassFromTree
virtual void importClassFromTree(nkExport::Node *rootNode) override
nkGraphics::RenderQueue::updateSwapShader
virtual void updateSwapShader(Entity *ent)
nkExport::Exportable
An interface to define objects that can be exported using this component.
Definition: Exportable.h:15
nkGraphics::RenderQueue::updateSwapShaderRaytracing
virtual void updateSwapShaderRaytracing(Entity *ent, Shader *oldShader, Shader *newShader)
nkGraphics::RenderQueue::addEntity
virtual Entity * addEntity()
nkGraphics::RenderQueue
A render queue, where all items that have to be rendered are queued.
Definition: RenderQueue.h:15
nkGraphics::Buffer
A buffer that will reside on the GPU.
Definition: Buffer.h:15
nkGraphics::RenderQueue::getName
nkMemory::StringView getName() const
nkGraphics::RenderQueue::eraseEntity
virtual void eraseEntity(Entity *ent)
nkGraphics::Shader
A shader class, feeding data to a Program.
Definition: Shader.h:14
nkGraphics::RenderQueue::appendQueue
void appendQueue(RenderQueue *other)
nkGraphics::RenderQueue::updateAddMesh
virtual void updateAddMesh(SubEntity *subEnt)
nkGraphics::RenderQueue::getAccelerationStructureBuffer
virtual Buffer * getAccelerationStructureBuffer() const
nkGraphics::RenderQueue::getEntityCount
unsigned int getEntityCount() const
nkGraphics::RenderQueue::getHidden
bool getHidden() const
nkGraphics::Entity
An entity in a render queue. It drives the shader and possible graph position for a set of renderable...
Definition: Entity.h:15
nkGraphics::RenderQueue::setHidden
void setHidden(bool value)
nkGraphics::RenderQueue::getRaytraced
bool getRaytraced() const
nkExport::Node
A node in the tree structure representing the data to export / import.
Definition: Node.h:42
nkGraphics::RenderQueue::getIndex
unsigned int getIndex() const
nkGraphics::RenderQueue::setRenderingQueue
void setRenderingQueue(bool value)
nkMemory::StringView
Class holding information about a string, with no ownership over the data.
Definition: StringView.h:22
nkGraphics::RenderQueue::updateSwapMesh
virtual void updateSwapMesh(SubEntity *subEnt)
nkGraphics::RenderQueue::getEntity
Entity * getEntity(unsigned int index) const
nkGraphics::RenderQueue::getRenderQueue
bool getRenderQueue() const
nkGraphics::RenderQueue::clearQueue
virtual void clearQueue()
nkGraphics::SubEntity
Holds information about a sub entity, a renderable exposing the geometry.
Definition: SubEntity.h:12
nkGraphics::RenderQueue::getRenderableCount
unsigned int getRenderableCount() const
nkGraphics::RenderQueue::setIndex
void setIndex(unsigned int index)
nkGraphics
Encompasses all API of component NilkinsGraphics.
Definition: BoundingBox.h:7
nkGraphics::RenderQueue::setName
virtual void setName(const nkMemory::StringView &name)
nkGraphics::RenderQueue::updateDeleteMesh
virtual void updateDeleteMesh(SubEntity *subEnt)